/**
 * Copyright &copy; 2012-2016 <a href="https://github.com/thinkgem/jeesite">JeeSite</a> All rights reserved.
 */
package com.thinkgem.jeesite.modules.siteuseraccountlog.entity;

import org.hibernate.validator.constraints.Length;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import javax.validation.constraints.NotNull;

import com.thinkgem.jeesite.common.persistence.DataEntity;

/**
 * 生成交易记录Entity
 * @author thinkgem
 * @version 2017-08-21
 */
public class SiteUserAccountLog extends DataEntity<SiteUserAccountLog> {
	
	private static final long serialVersionUID = 1L;
	private String userId;		// 用户ID
	private String acctType;		// 1银行卡投资，2定期回款至银行卡，3活期赎回，4活期投资，5回款复投，
	private Date createTime;		// 创建时间
	private String inAccount;		// 入账方
	private String outAccount;		// 出账方
	private String amount;		// 交易金额
	private String fee;		// 手续费
	private String finalAmount;		// 到账金额
	private String info;		// 交易详情
	private String status;		// 状态：1成功，2失败，3处理中
	private String orderId;		// 交易流水号
	private String currnetOrder;		// 活期转入的流水号
	private String fixedOrder;		// 定期转入的流水号
	private Date updateTime;		// update_time
	private String inMsg;		// 入账信息
	private String outMsg;		// 出账信息
	
	public SiteUserAccountLog() {
		super();
	}

	public SiteUserAccountLog(String id){
		super(id);
	}

	@Length(min=0, max=7, message="用户ID长度必须介于 0 和 7 之间")
	public String getUserId() {
		return userId;
	}

	public void setUserId(String userId) {
		this.userId = userId;
	}
	
	@Length(min=1, max=2, message="1银行卡投资，2定期回款至银行卡，3活期赎回，4活期投资，5回款复投，长度必须介于 1 和 2 之间")
	public String getAcctType() {
		return acctType;
	}

	public void setAcctType(String acctType) {
		this.acctType = acctType;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@NotNull(message="创建时间不能为空")
	public Date getCreateTime() {
		return createTime;
	}

	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}
	
	@Length(min=0, max=2, message="入账方长度必须介于 0 和 2 之间")
	public String getInAccount() {
		return inAccount;
	}

	public void setInAccount(String inAccount) {
		this.inAccount = inAccount;
	}
	
	@Length(min=0, max=2, message="出账方长度必须介于 0 和 2 之间")
	public String getOutAccount() {
		return outAccount;
	}

	public void setOutAccount(String outAccount) {
		this.outAccount = outAccount;
	}
	
	public String getAmount() {
		return amount;
	}

	public void setAmount(String amount) {
		this.amount = amount;
	}
	
	public String getFee() {
		return fee;
	}

	public void setFee(String fee) {
		this.fee = fee;
	}
	
	public String getFinalAmount() {
		return finalAmount;
	}

	public void setFinalAmount(String finalAmount) {
		this.finalAmount = finalAmount;
	}
	
	@Length(min=0, max=200, message="交易详情长度必须介于 0 和 200 之间")
	public String getInfo() {
		return info;
	}

	public void setInfo(String info) {
		this.info = info;
	}
	
	@Length(min=0, max=1, message="状态：1成功，2失败，3处理中长度必须介于 0 和 1 之间")
	public String getStatus() {
		return status;
	}

	public void setStatus(String status) {
		this.status = status;
	}
	
	@Length(min=0, max=50, message="交易流水号长度必须介于 0 和 50 之间")
	public String getOrderId() {
		return orderId;
	}

	public void setOrderId(String orderId) {
		this.orderId = orderId;
	}
	
	@Length(min=0, max=50, message="活期转入的流水号长度必须介于 0 和 50 之间")
	public String getCurrnetOrder() {
		return currnetOrder;
	}

	public void setCurrnetOrder(String currnetOrder) {
		this.currnetOrder = currnetOrder;
	}
	
	@Length(min=0, max=50, message="定期转入的流水号长度必须介于 0 和 50 之间")
	public String getFixedOrder() {
		return fixedOrder;
	}

	public void setFixedOrder(String fixedOrder) {
		this.fixedOrder = fixedOrder;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getUpdateTime() {
		return updateTime;
	}

	public void setUpdateTime(Date updateTime) {
		this.updateTime = updateTime;
	}
	
	@Length(min=0, max=200, message="入账信息长度必须介于 0 和 200 之间")
	public String getInMsg() {
		return inMsg;
	}

	public void setInMsg(String inMsg) {
		this.inMsg = inMsg;
	}
	
	@Length(min=0, max=200, message="出账信息长度必须介于 0 和 200 之间")
	public String getOutMsg() {
		return outMsg;
	}

	public void setOutMsg(String outMsg) {
		this.outMsg = outMsg;
	}
	
}